#include <vector>
#include "Object.hpp"
#include <glm/glm.hpp>
#include <glm/gtc/matrix_transform.hpp>
#include <glm/gtc/type_ptr.hpp>
#include <iostream>
#include "Camera.hpp"
class Node
{
	private:
	std::vector<Object *> AttachedObjects;
	glm::mat4 ModelviewMatrix;
	glm::mat4 ProjectionMatrix;
	float rotations[3];
	Vector3 translation;
	Camera *CameraUsed;
	void FixCamera();
	float scale;

	public:
	bool AttachObject(Object* ObjectIn);
	void AttachCamera(Camera* kamera);
	void DrawAll();
	void Rotate(float angle, int axis);
	void Translate(const Vector3& v);
	void Translate(float x, float y, float z);
	void Scale(float sc);
	Node(){rotations[0] = rotations[1] = rotations[2] = 0.0f; CameraUsed = NULL;scale = 1.0f;}
};
